cmd中的进度如何捕捉到输出内容 您所在的位置:网站首页 python 操作 cmd cmd中的进度如何捕捉到输出内容

cmd中的进度如何捕捉到输出内容

2023-12-16 02:10| 来源: 网络整理| 查看: 265

前言

我们在做手机端自动化的时候有时候可能会遇到需要执行cmd命令完成用例,我们一起学习下,通过python脚本执行cmd命令

cmd是什么

cmd是command的缩写.即命令提示行(CMD),是在OS / 2 , Win为基础的操作系统(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件 ——来自百度百科其实说白了就是windows中执行一些命令的地方。

python操作cmd

我们通常可以使用os模块的命令进行执行cmd

方法1: os.stsrem(执行的命令)# 源码def system(*args, **kwargs): # real signature unknown    """ Execute the command in a subshell. """    pass

662549361670bb4f0b91abc70559218d.png

我们可以看到os.system成功的把我们输入的内容给返回回来了,其中代码0 表示执行成功。但是我们没有办法获取输出的信息内容

方法2: os.popen(执行的命令) # 源码def popen(cmd, mode="r", buffering=-1):    if not isinstance(cmd, str):        raise TypeError("invalid cmd type (%s, expected string)" % type(cmd))    if mode not in ("r", "w"):        raise ValueError("invalid mode %r" % mode)    if buffering == 0 or buffering is None:        raise ValueError("popen() does not support unbuffered streams")    import subprocess, io    if mode == "r":        proc = subprocess.Popen(cmd,                                shell=True,                                stdout=subprocess.PIPE,                                bufsize=buffering)        return _wrap_close(io.TextIOWrapper(proc.stdout), proc)    else:        proc = subprocess.Popen(cmd,                                shell=True,                                stdin=subprocess.PIPE,                                bufsize=buffering)        return _wrap_close(io.TextIOWrapper(proc.stdin), proc)

可以发现输出后的内容是一个对象,默认是以读的方式打开

bc13c0b5327615a8b94a616e5a001596.png

我们可以通过读取文件对象,获取返回的信息内容

e52a534f4e9a8d7c3f6be60db11b68dc.png



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有